Principios de la entrega continua

Conoce los principios bƔsicos de la entrega continua con estas guƭas de primeros pasos.

La entrega continua (CD) es una colección de muchas prÔcticas recomendadas de organización y metodología Ôgil. Con la CD, una organización se centra en la creación de un proceso de publicación de software sencillo y automatizado. La pieza central de este proceso de publicación es un ciclo de feedback iterativo. El ciclo de feedback gira en torno a la entrega de software al usuario final lo mÔs rÔpido posible, aprendiendo de la experiencia prÔctica e incorporando ese feedback en la siguiente publicación.

Comparación de integración continua, entrega continua e implementación continua

Para lograr servicios ininterrumpidos es necesario sincronizar la estructura, los valores y las herramientas del equipo para que la excelencia operativa se convierta en una competencia bƔsica. Leer el artƭculo

El valor de negocio de la entrega continua

El valor de negocio de la entrega continua no se reduce a las empresas tecnológicas que son el ojito derecho de los inversores. La CD mejora la velocidad, la productividad y la sostenibilidad de los equipos de desarrollo de software. Leer el artículo

Mapas del flujo de valor

Los mapas de flujo de valor son una técnica de anÔlisis con la que podrÔs optimizar tu canalización de entrega continua. Descubre cómo y por qué se usa esta técnica. Leer el artículo

La CD es una metodología inclusiva para toda la organización que acoge también a los equipos que no son de ingeniería, como los de diseño, producto y marketing. La CD anima a los desarrolladores a centrarse en entregar el producto al usuario final, mientras que los entornos que no son de CD pueden hacer que los desarrolladores acaben centrÔndose en complacer al equipo de control de calidad. En las próximas secciones analizaremos principios concretos que sientan las bases para los flujos de trabajo de CD.

Un diagrama que muestra cómo fluyen código informÔtico y elementos de trabajo de forma continua. | CI/CD de Atlassian

Proceso fiable y reproducible

Los procesos organizativos tienen su propio ciclo de vida de desarrollo. Por lo general, comienzan como "manuales de estrategias" o checklists manuales, que son listas de tareas que se realizan de forma manual. Posteriormente se pueden automatizar con herramientas de software y scripts. Al convertir estos manuales de estrategias en scripts de software, te asegurarÔs de que son reproducibles. Si hay que volver a ejecutar una checklist, cualquier miembro del equipo puede ejecutar el script. La fiabilidad se consigue cuando estos scripts de manuales de estrategias se ejecutan de manera coherente entre entornos. Por ejemplo, el manual de estrategias para implementar código en un entorno de ensayo o de desarrollo debe reflejar el entorno de producción de la manera mÔs fiel posible. Esta uniformidad fiable entre entornos y ejecuciones elimina todo un grupo de errores de consistencia.

Automatiza todo

La automatización es un valor clave de la CD. El tiempo de las personas es oro y se debe reservar a tareas creativas, y no a ejecutar tediosas tareas del manual de estrategias. Un proceso manual no es realmente reproducible ni fiable hasta que no se ha introducido en el código mediante una confirmación y se puede ejecutar automÔticamente bajo demanda. Las tareas automatizadas pueden aglutinarse para crear mÔs niveles de automatización. Automatiza tanto como sea posible: pruebas, publicaciones, cambios de configuración, etc.

Control de versiones

El control de versiones es una piedra angular de la CD y una necesidad absoluta para cualquier proyecto de software serio. El control de versiones permite a un equipo de desarrolladores colaborar de forma eficaz en una base de código compartida. Git es el sistema de control de versiones mÔs usado y un complemento excelente para la CD. El control de versiones habilita la funcionalidad "deshacer", lo que permite revertir a candidatos de publicación anteriores. AdemÔs del código, conviene llevar un control de versiones de la configuración, los scripts, las bases de datos y la documentación para hacer el seguimiento de cambios a lo largo del historial.

Integra la calidad

En la CD, la calidad no se añade a última hora, cuando todo pasa al equipo de control de calidad. Al contrario: la calidad estÔ integrada en todos los pasos de la canalización de publicación. El ciclo de feedback central de CD reevalúa de forma constante la calidad que se va a entregar a los usuarios finales. Las nuevas funciones se entregan con conjuntos de pruebas automatizadas para garantizar que el nuevo código estÔ libre de errores y que cumple con las expectativas de calidad. La planificación de proyecto para publicaciones de nuevas funciones debe incluir consideraciones sobre anÔlisis, supervisión del rendimiento y tareas de instrumentación de pruebas automatizadas.

Haz lo mƔs difƭcil primero

Las tareas espinosas, que consumen mucho tiempo o son propensas a errores se complican con el tiempo. Por eso, deben abordarse lo antes posible para evitar una pérdida de energía que empeore todavía mÔs las cosas. Imagina que tienes una tarea latosa que se tarda 20 minutos en hacer y que se ejecuta 5 veces a la semana. Eso acaba resultando en 100 minutos de sufrimiento a la semana y alrededor de 400 al mes... Ahora, imagina que puedes optimizarla y ahorrarte todo ese tiempo. No hay mucho que pensar, ¿verdad?

"Hacer lo mÔs difícil primero" también sirve para identificar debilidades en el proceso organizativo. Si hay una tarea que se procrastina o se evita activamente, es un indicador de que podrías estar ante un Ôrea de mejora que debería abordarse de forma activa. De vez en cuando, los equipos deben tomar contacto con estos retos para estar familiarizados con ellos y tenerlos presentes en las conversaciones de planificación.

La responsabilidad es de todos

Hay que centrar la atención de toda la organización e incentivarla para garantizar que la entrega al usuario final tenga la mayor calidad posible. Los gestores de productos deben planificar prestando atención a la implementación y la garantía de calidad. El equipo de seguridad debe participar activamente en el proceso de publicación. Los miembros del equipo de control de calidad deben probar los entornos de ensayo y de desarrollo con tanto rigor como lo harían en la producción para detectar cualquier fallo antes de la publicación final. Los desarrolladores deben planificar activamente la publicación de la producción.

Un equipo colabora para inspeccionar el código antes de la publicación. | CI/CD de Atlassian

Algo solo estĆ” "hecho" cuando se ha publicado

El trabajo de las empresas de software es entregar software a los usuarios finales. Si una aplicación solo funciona en la mÔquina de un desarrollador no hay negocio. Si oyes un "a mí me funciona", haz sonar las alarmas: significa que alguien no tiene muy presente el objetivo global del negocio o que no empatiza con el usuario final. La CD estÔ totalmente centrada en el lanzamiento de software para el cliente final. AdemÔs, algo no estÔ "hecho" porque el trabajo de una persona haya terminado. Para dar algo por terminado, todo el equipo ha de haber finalizado su parte.

Mejora continua

El método de CD no se detiene en la implementación. Como ya hemos visto, el ciclo de feedback es su pieza central y eso significa que a la implementación le sigue una fase adicional de supervisión y medición de su eficacia. En esta etapa, a su vez, se utilizan herramientas automatizadas para medir el impacto de la implementación en el usuario final. Para medir ese efecto, se supervisan parÔmetros obvios como los ingresos empresariales, pero también otros mÔs detallados como índices de conversión de usuarios o tiempo de interacción.

El valor de la entrega continua

Espero que las secciones anteriores te hayan hecho ver el gran valor añadido de la entrega continua. A nivel macro, la CD promueve la eficiencia de la ejecución, la comunicación entre equipos, la adecuación al mercado de los productos, la agilidad y la transparencia general de la organización. 

A nivel micro, la CD se puede instrumentar con mediciones de parƔmetros de seguimiento explƭcitos. Estos son algunos parƔmetros prƔcticos de CD:

  • Tiempo desde la fase de diseƱo de una nueva función hasta la publicación a producción.

  • Cantidad de errores de producción que encuentran los usuarios.

  • Grado de interacción del usuario con las nuevas funciones.

  • Frecuencia de publicación de nuevas funciones

AdemÔs, la CD puede servir como base para crear parÔmetros de rendimiento de la organización, como KPI. Por último, los ingresos finales y el estado financiero son una forma excelente de medir el impacto de las prÔcticas organizativas.

Primeros pasos con la entrega continua

Ahora que conoces las ventajas y los principios de la entrega continua, el siguiente paso es implementarla. Un buen punto de partida es la integración continua. La integración continua (CI, por sus siglas en inglés) es la precursora de la entrega continua y se centra en automatizar el flujo de trabajo de la publicación de código. Lo hace con el uso de herramientas automatizadas de prueba de código y tareas de control de calidad. Cuando la CI estÔ a punto, puede ser la base para crear procesos de CD, con los que implementar código para los usuarios finales y desarrollar un ciclo de feedback que guíe futuras publicaciones.

Recomendado para ti

La comunidad de DevOps

PruƩbalo gratis